<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Doxygen: pcl::registration::CorrespondenceEstimationOrganizedProjection&lt; PointSource, PointTarget, Scalar &gt; 模板类 参考</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">Doxygen
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- 制作者 Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'搜索','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
  initMenu('',true,false,'search.php','搜索');
  $(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('classpcl_1_1registration_1_1_correspondence_estimation_organized_projection.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="summary">
<a href="#pub-types">Public 类型</a> &#124;
<a href="#pub-methods">Public 成员函数</a> &#124;
<a href="#pro-methods">Protected 成员函数</a> &#124;
<a href="#pro-attribs">Protected 属性</a> &#124;
<a href="classpcl_1_1registration_1_1_correspondence_estimation_organized_projection-members.html">所有成员列表</a>  </div>
  <div class="headertitle">
<div class="title">pcl::registration::CorrespondenceEstimationOrganizedProjection&lt; PointSource, PointTarget, Scalar &gt; 模板类 参考</div>  </div>
</div><!--header-->
<div class="contents">

<p><a class="el" href="classpcl_1_1registration_1_1_correspondence_estimation_organized_projection.html" title="CorrespondenceEstimationOrganizedProjection computes correspondences by projecting the source point c...">CorrespondenceEstimationOrganizedProjection</a> computes correspondences by projecting the source point cloud onto the target point cloud using the camera intrinsic and extrinsic parameters. The correspondences can be trimmed by a depth threshold and by a distance threshold. It is not as precise as a nearest neighbor search, but it is much faster, as it avoids the usage of any additional structures (i.e., kd-trees).  
 <a href="classpcl_1_1registration_1_1_correspondence_estimation_organized_projection.html#details">更多...</a></p>

<p><code>#include &lt;<a class="el" href="correspondence__estimation__organized__projection_8h_source.html">correspondence_estimation_organized_projection.h</a>&gt;</code></p>
<div class="dynheader">
类 pcl::registration::CorrespondenceEstimationOrganizedProjection&lt; PointSource, PointTarget, Scalar &gt; 继承关系图:</div>
<div class="dyncontent">
 <div class="center">
  <img src="classpcl_1_1registration_1_1_correspondence_estimation_organized_projection.png" usemap="#pcl::registration::CorrespondenceEstimationOrganizedProjection_3C_20PointSource_2C_20PointTarget_2C_20Scalar_20_3E_map" alt=""/>
  <map id="pcl::registration::CorrespondenceEstimationOrganizedProjection_3C_20PointSource_2C_20PointTarget_2C_20Scalar_20_3E_map" name="pcl::registration::CorrespondenceEstimationOrganizedProjection_3C_20PointSource_2C_20PointTarget_2C_20Scalar_20_3E_map">
<area href="classpcl_1_1registration_1_1_correspondence_estimation_base.html" alt="pcl::registration::CorrespondenceEstimationBase&lt; PointSource, PointTarget, float &gt;" shape="rect" coords="0,56,583,80"/>
<area href="classpcl_1_1_p_c_l_base.html" alt="pcl::PCLBase&lt; PointSource &gt;" shape="rect" coords="0,0,583,24"/>
  </map>
</div></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
Public 类型</h2></td></tr>
<tr class="memitem:ad332beff4fdf731347387f498c98e53e"><td class="memItemLeft" align="right" valign="top"><a id="ad332beff4fdf731347387f498c98e53e"></a>
typedef <a class="el" href="classpcl_1_1_point_cloud.html">pcl::PointCloud</a>&lt; PointSource &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>PointCloudSource</b></td></tr>
<tr class="separator:ad332beff4fdf731347387f498c98e53e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad87ba5f2d20c2f101b3aafc8a14918c6"><td class="memItemLeft" align="right" valign="top"><a id="ad87ba5f2d20c2f101b3aafc8a14918c6"></a>
typedef PointCloudSource::Ptr&#160;</td><td class="memItemRight" valign="bottom"><b>PointCloudSourcePtr</b></td></tr>
<tr class="separator:ad87ba5f2d20c2f101b3aafc8a14918c6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aac4affaafb0a8d1383b99c97f088594d"><td class="memItemLeft" align="right" valign="top"><a id="aac4affaafb0a8d1383b99c97f088594d"></a>
typedef PointCloudSource::ConstPtr&#160;</td><td class="memItemRight" valign="bottom"><b>PointCloudSourceConstPtr</b></td></tr>
<tr class="separator:aac4affaafb0a8d1383b99c97f088594d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0ca7a3bebe21e8410a6698a21800bac0"><td class="memItemLeft" align="right" valign="top"><a id="a0ca7a3bebe21e8410a6698a21800bac0"></a>
typedef <a class="el" href="classpcl_1_1_point_cloud.html">pcl::PointCloud</a>&lt; PointTarget &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>PointCloudTarget</b></td></tr>
<tr class="separator:a0ca7a3bebe21e8410a6698a21800bac0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af66faffe9ac2b49bf48f49cf9bd773f4"><td class="memItemLeft" align="right" valign="top"><a id="af66faffe9ac2b49bf48f49cf9bd773f4"></a>
typedef PointCloudTarget::Ptr&#160;</td><td class="memItemRight" valign="bottom"><b>PointCloudTargetPtr</b></td></tr>
<tr class="separator:af66faffe9ac2b49bf48f49cf9bd773f4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a45ef1513d8483655917b48f88febfba1"><td class="memItemLeft" align="right" valign="top"><a id="a45ef1513d8483655917b48f88febfba1"></a>
typedef PointCloudTarget::ConstPtr&#160;</td><td class="memItemRight" valign="bottom"><b>PointCloudTargetConstPtr</b></td></tr>
<tr class="separator:a45ef1513d8483655917b48f88febfba1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae29dc291481ac1996f048027def2ae8d"><td class="memItemLeft" align="right" valign="top"><a id="ae29dc291481ac1996f048027def2ae8d"></a>
typedef boost::shared_ptr&lt; <a class="el" href="classpcl_1_1registration_1_1_correspondence_estimation_organized_projection.html">CorrespondenceEstimationOrganizedProjection</a>&lt; PointSource, PointTarget, Scalar &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>Ptr</b></td></tr>
<tr class="separator:ae29dc291481ac1996f048027def2ae8d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad746715384293c711304a13989129078"><td class="memItemLeft" align="right" valign="top"><a id="ad746715384293c711304a13989129078"></a>
typedef boost::shared_ptr&lt; const <a class="el" href="classpcl_1_1registration_1_1_correspondence_estimation_organized_projection.html">CorrespondenceEstimationOrganizedProjection</a>&lt; PointSource, PointTarget, Scalar &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>ConstPtr</b></td></tr>
<tr class="separator:ad746715384293c711304a13989129078"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_types_classpcl_1_1registration_1_1_correspondence_estimation_base"><td colspan="2" onclick="javascript:toggleInherit('pub_types_classpcl_1_1registration_1_1_correspondence_estimation_base')"><img src="closed.png" alt="-"/>&#160;Public 类型 继承自 <a class="el" href="classpcl_1_1registration_1_1_correspondence_estimation_base.html">pcl::registration::CorrespondenceEstimationBase&lt; PointSource, PointTarget, float &gt;</a></td></tr>
<tr class="memitem:abc26658ace3b34d14e808599b6b6ad17 inherit pub_types_classpcl_1_1registration_1_1_correspondence_estimation_base"><td class="memItemLeft" align="right" valign="top"><a id="abc26658ace3b34d14e808599b6b6ad17"></a>
typedef boost::shared_ptr&lt; <a class="el" href="classpcl_1_1registration_1_1_correspondence_estimation_base.html">CorrespondenceEstimationBase</a>&lt; PointSource, PointTarget, float &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>Ptr</b></td></tr>
<tr class="separator:abc26658ace3b34d14e808599b6b6ad17 inherit pub_types_classpcl_1_1registration_1_1_correspondence_estimation_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac08e02da4643d7120c8e382b6baf7799 inherit pub_types_classpcl_1_1registration_1_1_correspondence_estimation_base"><td class="memItemLeft" align="right" valign="top"><a id="ac08e02da4643d7120c8e382b6baf7799"></a>
typedef boost::shared_ptr&lt; const <a class="el" href="classpcl_1_1registration_1_1_correspondence_estimation_base.html">CorrespondenceEstimationBase</a>&lt; PointSource, PointTarget, float &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>ConstPtr</b></td></tr>
<tr class="separator:ac08e02da4643d7120c8e382b6baf7799 inherit pub_types_classpcl_1_1registration_1_1_correspondence_estimation_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a43ef5e39ae51e4d65677575c66e15a7f inherit pub_types_classpcl_1_1registration_1_1_correspondence_estimation_base"><td class="memItemLeft" align="right" valign="top"><a id="a43ef5e39ae51e4d65677575c66e15a7f"></a>
typedef <a class="el" href="classpcl_1_1search_1_1_kd_tree.html">pcl::search::KdTree</a>&lt; PointTarget &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>KdTree</b></td></tr>
<tr class="separator:a43ef5e39ae51e4d65677575c66e15a7f inherit pub_types_classpcl_1_1registration_1_1_correspondence_estimation_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af57574187cba57fdf480cb51e7a97cf2 inherit pub_types_classpcl_1_1registration_1_1_correspondence_estimation_base"><td class="memItemLeft" align="right" valign="top"><a id="af57574187cba57fdf480cb51e7a97cf2"></a>
typedef KdTree::Ptr&#160;</td><td class="memItemRight" valign="bottom"><b>KdTreePtr</b></td></tr>
<tr class="separator:af57574187cba57fdf480cb51e7a97cf2 inherit pub_types_classpcl_1_1registration_1_1_correspondence_estimation_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8a6a7af63f47bc195b0028e11bda4b98 inherit pub_types_classpcl_1_1registration_1_1_correspondence_estimation_base"><td class="memItemLeft" align="right" valign="top"><a id="a8a6a7af63f47bc195b0028e11bda4b98"></a>
typedef <a class="el" href="classpcl_1_1search_1_1_kd_tree.html">pcl::search::KdTree</a>&lt; PointSource &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>KdTreeReciprocal</b></td></tr>
<tr class="separator:a8a6a7af63f47bc195b0028e11bda4b98 inherit pub_types_classpcl_1_1registration_1_1_correspondence_estimation_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af1d23dfb1e222c7a7bce2358ab7357db inherit pub_types_classpcl_1_1registration_1_1_correspondence_estimation_base"><td class="memItemLeft" align="right" valign="top"><a id="af1d23dfb1e222c7a7bce2358ab7357db"></a>
typedef KdTree::Ptr&#160;</td><td class="memItemRight" valign="bottom"><b>KdTreeReciprocalPtr</b></td></tr>
<tr class="separator:af1d23dfb1e222c7a7bce2358ab7357db inherit pub_types_classpcl_1_1registration_1_1_correspondence_estimation_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aee35a52b4a4893fb841293814a227673 inherit pub_types_classpcl_1_1registration_1_1_correspondence_estimation_base"><td class="memItemLeft" align="right" valign="top"><a id="aee35a52b4a4893fb841293814a227673"></a>
typedef <a class="el" href="classpcl_1_1_point_cloud.html">pcl::PointCloud</a>&lt; PointSource &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>PointCloudSource</b></td></tr>
<tr class="separator:aee35a52b4a4893fb841293814a227673 inherit pub_types_classpcl_1_1registration_1_1_correspondence_estimation_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4effa970b306701c52d6797e574ecd21 inherit pub_types_classpcl_1_1registration_1_1_correspondence_estimation_base"><td class="memItemLeft" align="right" valign="top"><a id="a4effa970b306701c52d6797e574ecd21"></a>
typedef PointCloudSource::Ptr&#160;</td><td class="memItemRight" valign="bottom"><b>PointCloudSourcePtr</b></td></tr>
<tr class="separator:a4effa970b306701c52d6797e574ecd21 inherit pub_types_classpcl_1_1registration_1_1_correspondence_estimation_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0918d5b78e72ecf10dd5151547dbea7e inherit pub_types_classpcl_1_1registration_1_1_correspondence_estimation_base"><td class="memItemLeft" align="right" valign="top"><a id="a0918d5b78e72ecf10dd5151547dbea7e"></a>
typedef PointCloudSource::ConstPtr&#160;</td><td class="memItemRight" valign="bottom"><b>PointCloudSourceConstPtr</b></td></tr>
<tr class="separator:a0918d5b78e72ecf10dd5151547dbea7e inherit pub_types_classpcl_1_1registration_1_1_correspondence_estimation_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a71e44d7dfe22e45214b9fad6e7a2d438 inherit pub_types_classpcl_1_1registration_1_1_correspondence_estimation_base"><td class="memItemLeft" align="right" valign="top"><a id="a71e44d7dfe22e45214b9fad6e7a2d438"></a>
typedef <a class="el" href="classpcl_1_1_point_cloud.html">pcl::PointCloud</a>&lt; PointTarget &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>PointCloudTarget</b></td></tr>
<tr class="separator:a71e44d7dfe22e45214b9fad6e7a2d438 inherit pub_types_classpcl_1_1registration_1_1_correspondence_estimation_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae496eb0b1a9ac7eb0844fdf45b60f729 inherit pub_types_classpcl_1_1registration_1_1_correspondence_estimation_base"><td class="memItemLeft" align="right" valign="top"><a id="ae496eb0b1a9ac7eb0844fdf45b60f729"></a>
typedef PointCloudTarget::Ptr&#160;</td><td class="memItemRight" valign="bottom"><b>PointCloudTargetPtr</b></td></tr>
<tr class="separator:ae496eb0b1a9ac7eb0844fdf45b60f729 inherit pub_types_classpcl_1_1registration_1_1_correspondence_estimation_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6de153ae1cca2452342fceb204118d49 inherit pub_types_classpcl_1_1registration_1_1_correspondence_estimation_base"><td class="memItemLeft" align="right" valign="top"><a id="a6de153ae1cca2452342fceb204118d49"></a>
typedef PointCloudTarget::ConstPtr&#160;</td><td class="memItemRight" valign="bottom"><b>PointCloudTargetConstPtr</b></td></tr>
<tr class="separator:a6de153ae1cca2452342fceb204118d49 inherit pub_types_classpcl_1_1registration_1_1_correspondence_estimation_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae6c14122c36e11642c21b71197ef56ba inherit pub_types_classpcl_1_1registration_1_1_correspondence_estimation_base"><td class="memItemLeft" align="right" valign="top"><a id="ae6c14122c36e11642c21b71197ef56ba"></a>
typedef KdTree::PointRepresentationConstPtr&#160;</td><td class="memItemRight" valign="bottom"><b>PointRepresentationConstPtr</b></td></tr>
<tr class="separator:ae6c14122c36e11642c21b71197ef56ba inherit pub_types_classpcl_1_1registration_1_1_correspondence_estimation_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_types_classpcl_1_1_p_c_l_base"><td colspan="2" onclick="javascript:toggleInherit('pub_types_classpcl_1_1_p_c_l_base')"><img src="closed.png" alt="-"/>&#160;Public 类型 继承自 <a class="el" href="classpcl_1_1_p_c_l_base.html">pcl::PCLBase&lt; PointSource &gt;</a></td></tr>
<tr class="memitem:ae2f6f6863a73337858b7a7a054eaae4f inherit pub_types_classpcl_1_1_p_c_l_base"><td class="memItemLeft" align="right" valign="top"><a id="ae2f6f6863a73337858b7a7a054eaae4f"></a>
typedef <a class="el" href="classpcl_1_1_point_cloud.html">pcl::PointCloud</a>&lt; PointSource &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>PointCloud</b></td></tr>
<tr class="separator:ae2f6f6863a73337858b7a7a054eaae4f inherit pub_types_classpcl_1_1_p_c_l_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab84dd662cda89edb882fe5307b2136ea inherit pub_types_classpcl_1_1_p_c_l_base"><td class="memItemLeft" align="right" valign="top"><a id="ab84dd662cda89edb882fe5307b2136ea"></a>
typedef PointCloud::Ptr&#160;</td><td class="memItemRight" valign="bottom"><b>PointCloudPtr</b></td></tr>
<tr class="separator:ab84dd662cda89edb882fe5307b2136ea inherit pub_types_classpcl_1_1_p_c_l_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac8326513fad0680b6993e2f1a79a6af4 inherit pub_types_classpcl_1_1_p_c_l_base"><td class="memItemLeft" align="right" valign="top"><a id="ac8326513fad0680b6993e2f1a79a6af4"></a>
typedef PointCloud::ConstPtr&#160;</td><td class="memItemRight" valign="bottom"><b>PointCloudConstPtr</b></td></tr>
<tr class="separator:ac8326513fad0680b6993e2f1a79a6af4 inherit pub_types_classpcl_1_1_p_c_l_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae51eae0c7b3e0b7178f4894dff90660a inherit pub_types_classpcl_1_1_p_c_l_base"><td class="memItemLeft" align="right" valign="top"><a id="ae51eae0c7b3e0b7178f4894dff90660a"></a>
typedef boost::shared_ptr&lt; <a class="el" href="structpcl_1_1_point_indices.html">PointIndices</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>PointIndicesPtr</b></td></tr>
<tr class="separator:ae51eae0c7b3e0b7178f4894dff90660a inherit pub_types_classpcl_1_1_p_c_l_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a51771056fb4ab8c448a11157acbe2ee0 inherit pub_types_classpcl_1_1_p_c_l_base"><td class="memItemLeft" align="right" valign="top"><a id="a51771056fb4ab8c448a11157acbe2ee0"></a>
typedef boost::shared_ptr&lt; <a class="el" href="structpcl_1_1_point_indices.html">PointIndices</a> const &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>PointIndicesConstPtr</b></td></tr>
<tr class="separator:a51771056fb4ab8c448a11157acbe2ee0 inherit pub_types_classpcl_1_1_p_c_l_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public 成员函数</h2></td></tr>
<tr class="memitem:a8c70f6164145efe8144907a9007cd866"><td class="memItemLeft" align="right" valign="top"><a id="a8c70f6164145efe8144907a9007cd866"></a>
&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1registration_1_1_correspondence_estimation_organized_projection.html#a8c70f6164145efe8144907a9007cd866">CorrespondenceEstimationOrganizedProjection</a> ()</td></tr>
<tr class="memdesc:a8c70f6164145efe8144907a9007cd866"><td class="mdescLeft">&#160;</td><td class="mdescRight">Empty constructor that sets all the intrinsic calibration to the default Kinect values. <br /></td></tr>
<tr class="separator:a8c70f6164145efe8144907a9007cd866"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a421b1761b5313c3519ade0f679e73686"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1registration_1_1_correspondence_estimation_organized_projection.html#a421b1761b5313c3519ade0f679e73686">setFocalLengths</a> (const float fx, const float fy)</td></tr>
<tr class="memdesc:a421b1761b5313c3519ade0f679e73686"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the focal length parameters of the target camera.  <a href="classpcl_1_1registration_1_1_correspondence_estimation_organized_projection.html#a421b1761b5313c3519ade0f679e73686">更多...</a><br /></td></tr>
<tr class="separator:a421b1761b5313c3519ade0f679e73686"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae46c546ae6d03fdf9dee335c01169c15"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1registration_1_1_correspondence_estimation_organized_projection.html#ae46c546ae6d03fdf9dee335c01169c15">getFocalLengths</a> (float &amp;fx, float &amp;fy) const</td></tr>
<tr class="memdesc:ae46c546ae6d03fdf9dee335c01169c15"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reads back the focal length parameters of the target camera.  <a href="classpcl_1_1registration_1_1_correspondence_estimation_organized_projection.html#ae46c546ae6d03fdf9dee335c01169c15">更多...</a><br /></td></tr>
<tr class="separator:ae46c546ae6d03fdf9dee335c01169c15"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ade074b488ff8ce1a85a7ef61869b5cfe"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1registration_1_1_correspondence_estimation_organized_projection.html#ade074b488ff8ce1a85a7ef61869b5cfe">setCameraCenters</a> (const float cx, const float cy)</td></tr>
<tr class="memdesc:ade074b488ff8ce1a85a7ef61869b5cfe"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the camera center parameters of the target camera.  <a href="classpcl_1_1registration_1_1_correspondence_estimation_organized_projection.html#ade074b488ff8ce1a85a7ef61869b5cfe">更多...</a><br /></td></tr>
<tr class="separator:ade074b488ff8ce1a85a7ef61869b5cfe"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a650cec6eaed2dd963361b8ffd0169118"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1registration_1_1_correspondence_estimation_organized_projection.html#a650cec6eaed2dd963361b8ffd0169118">getCameraCenters</a> (float &amp;cx, float &amp;cy) const</td></tr>
<tr class="memdesc:a650cec6eaed2dd963361b8ffd0169118"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reads back the camera center parameters of the target camera.  <a href="classpcl_1_1registration_1_1_correspondence_estimation_organized_projection.html#a650cec6eaed2dd963361b8ffd0169118">更多...</a><br /></td></tr>
<tr class="separator:a650cec6eaed2dd963361b8ffd0169118"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a79d65095dad5703f49f1d37c98d76044"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1registration_1_1_correspondence_estimation_organized_projection.html#a79d65095dad5703f49f1d37c98d76044">setSourceTransformation</a> (const Eigen::Matrix4f &amp;src_to_tgt_transformation)</td></tr>
<tr class="memdesc:a79d65095dad5703f49f1d37c98d76044"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the transformation from the source point cloud to the target point cloud.  <a href="classpcl_1_1registration_1_1_correspondence_estimation_organized_projection.html#a79d65095dad5703f49f1d37c98d76044">更多...</a><br /></td></tr>
<tr class="separator:a79d65095dad5703f49f1d37c98d76044"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a72c8043f8eab0b048bc3354c12d65f93"><td class="memItemLeft" align="right" valign="top">Eigen::Matrix4f&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1registration_1_1_correspondence_estimation_organized_projection.html#a72c8043f8eab0b048bc3354c12d65f93">getSourceTransformation</a> () const</td></tr>
<tr class="memdesc:a72c8043f8eab0b048bc3354c12d65f93"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reads back the transformation from the source point cloud to the target point cloud.  <a href="classpcl_1_1registration_1_1_correspondence_estimation_organized_projection.html#a72c8043f8eab0b048bc3354c12d65f93">更多...</a><br /></td></tr>
<tr class="separator:a72c8043f8eab0b048bc3354c12d65f93"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae87b82d5be3a3f12914f489ff45452eb"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1registration_1_1_correspondence_estimation_organized_projection.html#ae87b82d5be3a3f12914f489ff45452eb">setDepthThreshold</a> (const float depth_threshold)</td></tr>
<tr class="memdesc:ae87b82d5be3a3f12914f489ff45452eb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the depth threshold; after projecting the source points in the image space of the target camera, this threshold is applied on the depths of corresponding dexels to eliminate the ones that are too far from each other.  <a href="classpcl_1_1registration_1_1_correspondence_estimation_organized_projection.html#ae87b82d5be3a3f12914f489ff45452eb">更多...</a><br /></td></tr>
<tr class="separator:ae87b82d5be3a3f12914f489ff45452eb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abfbd5e779a8b7a7a691aca652965cb44"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1registration_1_1_correspondence_estimation_organized_projection.html#abfbd5e779a8b7a7a691aca652965cb44">getDepthThreshold</a> () const</td></tr>
<tr class="memdesc:abfbd5e779a8b7a7a691aca652965cb44"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reads back the depth threshold; after projecting the source points in the image space of the target camera, this threshold is applied on the depths of corresponding dexels to eliminate the ones that are too far from each other.  <a href="classpcl_1_1registration_1_1_correspondence_estimation_organized_projection.html#abfbd5e779a8b7a7a691aca652965cb44">更多...</a><br /></td></tr>
<tr class="separator:abfbd5e779a8b7a7a691aca652965cb44"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6145ed17b1dadd13c2008b409ad0ce26"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1registration_1_1_correspondence_estimation_organized_projection.html#a6145ed17b1dadd13c2008b409ad0ce26">determineCorrespondences</a> (Correspondences &amp;correspondences, double max_distance)</td></tr>
<tr class="memdesc:a6145ed17b1dadd13c2008b409ad0ce26"><td class="mdescLeft">&#160;</td><td class="mdescRight">Computes the correspondences, applying a maximum Euclidean distance threshold.  <a href="classpcl_1_1registration_1_1_correspondence_estimation_organized_projection.html#a6145ed17b1dadd13c2008b409ad0ce26">更多...</a><br /></td></tr>
<tr class="separator:a6145ed17b1dadd13c2008b409ad0ce26"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac1efb1a06bd674fea9743d615e8a3419"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1registration_1_1_correspondence_estimation_organized_projection.html#ac1efb1a06bd674fea9743d615e8a3419">determineReciprocalCorrespondences</a> (Correspondences &amp;correspondences, double max_distance)</td></tr>
<tr class="memdesc:ac1efb1a06bd674fea9743d615e8a3419"><td class="mdescLeft">&#160;</td><td class="mdescRight">Computes the correspondences, applying a maximum Euclidean distance threshold.  <a href="classpcl_1_1registration_1_1_correspondence_estimation_organized_projection.html#ac1efb1a06bd674fea9743d615e8a3419">更多...</a><br /></td></tr>
<tr class="separator:ac1efb1a06bd674fea9743d615e8a3419"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aec1298aff4ecd654fad9838ed871f1b3"><td class="memItemLeft" align="right" valign="top"><a id="aec1298aff4ecd654fad9838ed871f1b3"></a>
virtual boost::shared_ptr&lt; <a class="el" href="classpcl_1_1registration_1_1_correspondence_estimation_base.html">CorrespondenceEstimationBase</a>&lt; PointSource, PointTarget, Scalar &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1registration_1_1_correspondence_estimation_organized_projection.html#aec1298aff4ecd654fad9838ed871f1b3">clone</a> () const</td></tr>
<tr class="memdesc:aec1298aff4ecd654fad9838ed871f1b3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Clone and cast to <a class="el" href="classpcl_1_1registration_1_1_correspondence_estimation_base.html" title="Abstract CorrespondenceEstimationBase class. All correspondence estimation methods should inherit fro...">CorrespondenceEstimationBase</a> <br /></td></tr>
<tr class="separator:aec1298aff4ecd654fad9838ed871f1b3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classpcl_1_1registration_1_1_correspondence_estimation_base"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classpcl_1_1registration_1_1_correspondence_estimation_base')"><img src="closed.png" alt="-"/>&#160;Public 成员函数 继承自 <a class="el" href="classpcl_1_1registration_1_1_correspondence_estimation_base.html">pcl::registration::CorrespondenceEstimationBase&lt; PointSource, PointTarget, float &gt;</a></td></tr>
<tr class="memitem:a44d06d7569b9d4e0115e741ce495b622 inherit pub_methods_classpcl_1_1registration_1_1_correspondence_estimation_base"><td class="memItemLeft" align="right" valign="top"><a id="a44d06d7569b9d4e0115e741ce495b622"></a>
&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1registration_1_1_correspondence_estimation_base.html#a44d06d7569b9d4e0115e741ce495b622">CorrespondenceEstimationBase</a> ()</td></tr>
<tr class="memdesc:a44d06d7569b9d4e0115e741ce495b622 inherit pub_methods_classpcl_1_1registration_1_1_correspondence_estimation_base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Empty constructor. <br /></td></tr>
<tr class="separator:a44d06d7569b9d4e0115e741ce495b622 inherit pub_methods_classpcl_1_1registration_1_1_correspondence_estimation_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a16a1c24a3cf934cfb23920c425a6ff88 inherit pub_methods_classpcl_1_1registration_1_1_correspondence_estimation_base"><td class="memItemLeft" align="right" valign="top"><a id="a16a1c24a3cf934cfb23920c425a6ff88"></a>
virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1registration_1_1_correspondence_estimation_base.html#a16a1c24a3cf934cfb23920c425a6ff88">~CorrespondenceEstimationBase</a> ()</td></tr>
<tr class="memdesc:a16a1c24a3cf934cfb23920c425a6ff88 inherit pub_methods_classpcl_1_1registration_1_1_correspondence_estimation_base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Empty destructor <br /></td></tr>
<tr class="separator:a16a1c24a3cf934cfb23920c425a6ff88 inherit pub_methods_classpcl_1_1registration_1_1_correspondence_estimation_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5b6f6dcae4eeee851931cb37c98b64d7 inherit pub_methods_classpcl_1_1registration_1_1_correspondence_estimation_base"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1registration_1_1_correspondence_estimation_base.html#a5b6f6dcae4eeee851931cb37c98b64d7">setInputCloud</a> (const PointCloudSourceConstPtr &amp;cloud)</td></tr>
<tr class="memdesc:a5b6f6dcae4eeee851931cb37c98b64d7 inherit pub_methods_classpcl_1_1registration_1_1_correspondence_estimation_base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Provide a pointer to the input source (e.g., the point cloud that we want to align to the target)  <a href="classpcl_1_1registration_1_1_correspondence_estimation_base.html#a5b6f6dcae4eeee851931cb37c98b64d7">更多...</a><br /></td></tr>
<tr class="separator:a5b6f6dcae4eeee851931cb37c98b64d7 inherit pub_methods_classpcl_1_1registration_1_1_correspondence_estimation_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a11120b8b747b53613e8bc2276e7cdcb3 inherit pub_methods_classpcl_1_1registration_1_1_correspondence_estimation_base"><td class="memItemLeft" align="right" valign="top"><a id="a11120b8b747b53613e8bc2276e7cdcb3"></a>
PointCloudSourceConstPtr const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1registration_1_1_correspondence_estimation_base.html#a11120b8b747b53613e8bc2276e7cdcb3">getInputCloud</a> ()</td></tr>
<tr class="memdesc:a11120b8b747b53613e8bc2276e7cdcb3 inherit pub_methods_classpcl_1_1registration_1_1_correspondence_estimation_base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get a pointer to the input point cloud dataset target. <br /></td></tr>
<tr class="separator:a11120b8b747b53613e8bc2276e7cdcb3 inherit pub_methods_classpcl_1_1registration_1_1_correspondence_estimation_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa67db523c5d262b6ca1782847e27c563 inherit pub_methods_classpcl_1_1registration_1_1_correspondence_estimation_base"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1registration_1_1_correspondence_estimation_base.html#aa67db523c5d262b6ca1782847e27c563">setInputSource</a> (const PointCloudSourceConstPtr &amp;cloud)</td></tr>
<tr class="memdesc:aa67db523c5d262b6ca1782847e27c563 inherit pub_methods_classpcl_1_1registration_1_1_correspondence_estimation_base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Provide a pointer to the input source (e.g., the point cloud that we want to align to the target)  <a href="classpcl_1_1registration_1_1_correspondence_estimation_base.html#aa67db523c5d262b6ca1782847e27c563">更多...</a><br /></td></tr>
<tr class="separator:aa67db523c5d262b6ca1782847e27c563 inherit pub_methods_classpcl_1_1registration_1_1_correspondence_estimation_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acbc245bbab3b1fb9c80f736e8134cd4a inherit pub_methods_classpcl_1_1registration_1_1_correspondence_estimation_base"><td class="memItemLeft" align="right" valign="top"><a id="acbc245bbab3b1fb9c80f736e8134cd4a"></a>
PointCloudSourceConstPtr const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1registration_1_1_correspondence_estimation_base.html#acbc245bbab3b1fb9c80f736e8134cd4a">getInputSource</a> ()</td></tr>
<tr class="memdesc:acbc245bbab3b1fb9c80f736e8134cd4a inherit pub_methods_classpcl_1_1registration_1_1_correspondence_estimation_base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get a pointer to the input point cloud dataset target. <br /></td></tr>
<tr class="separator:acbc245bbab3b1fb9c80f736e8134cd4a inherit pub_methods_classpcl_1_1registration_1_1_correspondence_estimation_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abb8906b3ab5948cc3b58bf7b22218eea inherit pub_methods_classpcl_1_1registration_1_1_correspondence_estimation_base"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1registration_1_1_correspondence_estimation_base.html#abb8906b3ab5948cc3b58bf7b22218eea">setInputTarget</a> (const PointCloudTargetConstPtr &amp;cloud)</td></tr>
<tr class="memdesc:abb8906b3ab5948cc3b58bf7b22218eea inherit pub_methods_classpcl_1_1registration_1_1_correspondence_estimation_base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Provide a pointer to the input target (e.g., the point cloud that we want to align the input source to)  <a href="classpcl_1_1registration_1_1_correspondence_estimation_base.html#abb8906b3ab5948cc3b58bf7b22218eea">更多...</a><br /></td></tr>
<tr class="separator:abb8906b3ab5948cc3b58bf7b22218eea inherit pub_methods_classpcl_1_1registration_1_1_correspondence_estimation_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a26f808434799242e8711a7c9355f3060 inherit pub_methods_classpcl_1_1registration_1_1_correspondence_estimation_base"><td class="memItemLeft" align="right" valign="top"><a id="a26f808434799242e8711a7c9355f3060"></a>
PointCloudTargetConstPtr const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1registration_1_1_correspondence_estimation_base.html#a26f808434799242e8711a7c9355f3060">getInputTarget</a> ()</td></tr>
<tr class="memdesc:a26f808434799242e8711a7c9355f3060 inherit pub_methods_classpcl_1_1registration_1_1_correspondence_estimation_base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get a pointer to the input point cloud dataset target. <br /></td></tr>
<tr class="separator:a26f808434799242e8711a7c9355f3060 inherit pub_methods_classpcl_1_1registration_1_1_correspondence_estimation_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab336d93e5d4482360fc928b23ddda973 inherit pub_methods_classpcl_1_1registration_1_1_correspondence_estimation_base"><td class="memItemLeft" align="right" valign="top"><a id="ab336d93e5d4482360fc928b23ddda973"></a>
virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1registration_1_1_correspondence_estimation_base.html#ab336d93e5d4482360fc928b23ddda973">requiresSourceNormals</a> () const</td></tr>
<tr class="memdesc:ab336d93e5d4482360fc928b23ddda973 inherit pub_methods_classpcl_1_1registration_1_1_correspondence_estimation_base"><td class="mdescLeft">&#160;</td><td class="mdescRight">See if this rejector requires source normals <br /></td></tr>
<tr class="separator:ab336d93e5d4482360fc928b23ddda973 inherit pub_methods_classpcl_1_1registration_1_1_correspondence_estimation_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5f66245661e52e7d4506efd054cedd4b inherit pub_methods_classpcl_1_1registration_1_1_correspondence_estimation_base"><td class="memItemLeft" align="right" valign="top"><a id="a5f66245661e52e7d4506efd054cedd4b"></a>
virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1registration_1_1_correspondence_estimation_base.html#a5f66245661e52e7d4506efd054cedd4b">setSourceNormals</a> (pcl::PCLPointCloud2::ConstPtr)</td></tr>
<tr class="memdesc:a5f66245661e52e7d4506efd054cedd4b inherit pub_methods_classpcl_1_1registration_1_1_correspondence_estimation_base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Abstract method for setting the source normals <br /></td></tr>
<tr class="separator:a5f66245661e52e7d4506efd054cedd4b inherit pub_methods_classpcl_1_1registration_1_1_correspondence_estimation_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aad23d9593864dde9da9fb52055c78604 inherit pub_methods_classpcl_1_1registration_1_1_correspondence_estimation_base"><td class="memItemLeft" align="right" valign="top"><a id="aad23d9593864dde9da9fb52055c78604"></a>
virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1registration_1_1_correspondence_estimation_base.html#aad23d9593864dde9da9fb52055c78604">requiresTargetNormals</a> () const</td></tr>
<tr class="memdesc:aad23d9593864dde9da9fb52055c78604 inherit pub_methods_classpcl_1_1registration_1_1_correspondence_estimation_base"><td class="mdescLeft">&#160;</td><td class="mdescRight">See if this rejector requires target normals <br /></td></tr>
<tr class="separator:aad23d9593864dde9da9fb52055c78604 inherit pub_methods_classpcl_1_1registration_1_1_correspondence_estimation_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad189ec0c3db30c64ce24d3a8ca64527d inherit pub_methods_classpcl_1_1registration_1_1_correspondence_estimation_base"><td class="memItemLeft" align="right" valign="top"><a id="ad189ec0c3db30c64ce24d3a8ca64527d"></a>
virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1registration_1_1_correspondence_estimation_base.html#ad189ec0c3db30c64ce24d3a8ca64527d">setTargetNormals</a> (pcl::PCLPointCloud2::ConstPtr)</td></tr>
<tr class="memdesc:ad189ec0c3db30c64ce24d3a8ca64527d inherit pub_methods_classpcl_1_1registration_1_1_correspondence_estimation_base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Abstract method for setting the target normals <br /></td></tr>
<tr class="separator:ad189ec0c3db30c64ce24d3a8ca64527d inherit pub_methods_classpcl_1_1registration_1_1_correspondence_estimation_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac2caef76d13492efb77731d318a251db inherit pub_methods_classpcl_1_1registration_1_1_correspondence_estimation_base"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1registration_1_1_correspondence_estimation_base.html#ac2caef76d13492efb77731d318a251db">setIndicesSource</a> (const IndicesPtr &amp;indices)</td></tr>
<tr class="memdesc:ac2caef76d13492efb77731d318a251db inherit pub_methods_classpcl_1_1registration_1_1_correspondence_estimation_base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Provide a pointer to the vector of indices that represent the input source point cloud.  <a href="classpcl_1_1registration_1_1_correspondence_estimation_base.html#ac2caef76d13492efb77731d318a251db">更多...</a><br /></td></tr>
<tr class="separator:ac2caef76d13492efb77731d318a251db inherit pub_methods_classpcl_1_1registration_1_1_correspondence_estimation_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa1cfa7439f71c3afe482dec5cd431b62 inherit pub_methods_classpcl_1_1registration_1_1_correspondence_estimation_base"><td class="memItemLeft" align="right" valign="top"><a id="aa1cfa7439f71c3afe482dec5cd431b62"></a>
IndicesPtr const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1registration_1_1_correspondence_estimation_base.html#aa1cfa7439f71c3afe482dec5cd431b62">getIndicesSource</a> ()</td></tr>
<tr class="memdesc:aa1cfa7439f71c3afe482dec5cd431b62 inherit pub_methods_classpcl_1_1registration_1_1_correspondence_estimation_base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get a pointer to the vector of indices used for the source dataset. <br /></td></tr>
<tr class="separator:aa1cfa7439f71c3afe482dec5cd431b62 inherit pub_methods_classpcl_1_1registration_1_1_correspondence_estimation_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:addc63787ae74feaa7445442c9b108d95 inherit pub_methods_classpcl_1_1registration_1_1_correspondence_estimation_base"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1registration_1_1_correspondence_estimation_base.html#addc63787ae74feaa7445442c9b108d95">setIndicesTarget</a> (const IndicesPtr &amp;indices)</td></tr>
<tr class="memdesc:addc63787ae74feaa7445442c9b108d95 inherit pub_methods_classpcl_1_1registration_1_1_correspondence_estimation_base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Provide a pointer to the vector of indices that represent the input target point cloud.  <a href="classpcl_1_1registration_1_1_correspondence_estimation_base.html#addc63787ae74feaa7445442c9b108d95">更多...</a><br /></td></tr>
<tr class="separator:addc63787ae74feaa7445442c9b108d95 inherit pub_methods_classpcl_1_1registration_1_1_correspondence_estimation_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a42e70967a7cb4f95e7d46d2d32ad0f30 inherit pub_methods_classpcl_1_1registration_1_1_correspondence_estimation_base"><td class="memItemLeft" align="right" valign="top"><a id="a42e70967a7cb4f95e7d46d2d32ad0f30"></a>
IndicesPtr const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1registration_1_1_correspondence_estimation_base.html#a42e70967a7cb4f95e7d46d2d32ad0f30">getIndicesTarget</a> ()</td></tr>
<tr class="memdesc:a42e70967a7cb4f95e7d46d2d32ad0f30 inherit pub_methods_classpcl_1_1registration_1_1_correspondence_estimation_base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get a pointer to the vector of indices used for the target dataset. <br /></td></tr>
<tr class="separator:a42e70967a7cb4f95e7d46d2d32ad0f30 inherit pub_methods_classpcl_1_1registration_1_1_correspondence_estimation_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a53aebf3a2649c712fcd1a0a0768ed51a inherit pub_methods_classpcl_1_1registration_1_1_correspondence_estimation_base"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1registration_1_1_correspondence_estimation_base.html#a53aebf3a2649c712fcd1a0a0768ed51a">setSearchMethodTarget</a> (const KdTreePtr &amp;tree, bool force_no_recompute=false)</td></tr>
<tr class="memdesc:a53aebf3a2649c712fcd1a0a0768ed51a inherit pub_methods_classpcl_1_1registration_1_1_correspondence_estimation_base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Provide a pointer to the search object used to find correspondences in the target cloud.  <a href="classpcl_1_1registration_1_1_correspondence_estimation_base.html#a53aebf3a2649c712fcd1a0a0768ed51a">更多...</a><br /></td></tr>
<tr class="separator:a53aebf3a2649c712fcd1a0a0768ed51a inherit pub_methods_classpcl_1_1registration_1_1_correspondence_estimation_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afdb07975992d25faa783ecacd0adb71b inherit pub_methods_classpcl_1_1registration_1_1_correspondence_estimation_base"><td class="memItemLeft" align="right" valign="top"><a id="afdb07975992d25faa783ecacd0adb71b"></a>
KdTreePtr&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1registration_1_1_correspondence_estimation_base.html#afdb07975992d25faa783ecacd0adb71b">getSearchMethodTarget</a> () const</td></tr>
<tr class="memdesc:afdb07975992d25faa783ecacd0adb71b inherit pub_methods_classpcl_1_1registration_1_1_correspondence_estimation_base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get a pointer to the search method used to find correspondences in the target cloud. <br /></td></tr>
<tr class="separator:afdb07975992d25faa783ecacd0adb71b inherit pub_methods_classpcl_1_1registration_1_1_correspondence_estimation_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a260ce83db343ffc513c779e87e18bb8a inherit pub_methods_classpcl_1_1registration_1_1_correspondence_estimation_base"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1registration_1_1_correspondence_estimation_base.html#a260ce83db343ffc513c779e87e18bb8a">setSearchMethodSource</a> (const KdTreeReciprocalPtr &amp;tree, bool force_no_recompute=false)</td></tr>
<tr class="memdesc:a260ce83db343ffc513c779e87e18bb8a inherit pub_methods_classpcl_1_1registration_1_1_correspondence_estimation_base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Provide a pointer to the search object used to find correspondences in the source cloud (usually used by reciprocal correspondence finding).  <a href="classpcl_1_1registration_1_1_correspondence_estimation_base.html#a260ce83db343ffc513c779e87e18bb8a">更多...</a><br /></td></tr>
<tr class="separator:a260ce83db343ffc513c779e87e18bb8a inherit pub_methods_classpcl_1_1registration_1_1_correspondence_estimation_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a890dbded17485123c0fa202aeeea01d5 inherit pub_methods_classpcl_1_1registration_1_1_correspondence_estimation_base"><td class="memItemLeft" align="right" valign="top"><a id="a890dbded17485123c0fa202aeeea01d5"></a>
KdTreeReciprocalPtr&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1registration_1_1_correspondence_estimation_base.html#a890dbded17485123c0fa202aeeea01d5">getSearchMethodSource</a> () const</td></tr>
<tr class="memdesc:a890dbded17485123c0fa202aeeea01d5 inherit pub_methods_classpcl_1_1registration_1_1_correspondence_estimation_base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get a pointer to the search method used to find correspondences in the source cloud. <br /></td></tr>
<tr class="separator:a890dbded17485123c0fa202aeeea01d5 inherit pub_methods_classpcl_1_1registration_1_1_correspondence_estimation_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a45f38520f0b144dc85423f1395f043ab inherit pub_methods_classpcl_1_1registration_1_1_correspondence_estimation_base"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1registration_1_1_correspondence_estimation_base.html#a45f38520f0b144dc85423f1395f043ab">setPointRepresentation</a> (const PointRepresentationConstPtr &amp;point_representation)</td></tr>
<tr class="memdesc:a45f38520f0b144dc85423f1395f043ab inherit pub_methods_classpcl_1_1registration_1_1_correspondence_estimation_base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Provide a boost shared pointer to the PointRepresentation to be used when searching for nearest neighbors.  <a href="classpcl_1_1registration_1_1_correspondence_estimation_base.html#a45f38520f0b144dc85423f1395f043ab">更多...</a><br /></td></tr>
<tr class="separator:a45f38520f0b144dc85423f1395f043ab inherit pub_methods_classpcl_1_1registration_1_1_correspondence_estimation_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classpcl_1_1_p_c_l_base"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classpcl_1_1_p_c_l_base')"><img src="closed.png" alt="-"/>&#160;Public 成员函数 继承自 <a class="el" href="classpcl_1_1_p_c_l_base.html">pcl::PCLBase&lt; PointSource &gt;</a></td></tr>
<tr class="memitem:af4fbc5eb005057f8a0fc6d60bde595df inherit pub_methods_classpcl_1_1_p_c_l_base"><td class="memItemLeft" align="right" valign="top"><a id="af4fbc5eb005057f8a0fc6d60bde595df"></a>
&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_p_c_l_base.html#af4fbc5eb005057f8a0fc6d60bde595df">PCLBase</a> ()</td></tr>
<tr class="memdesc:af4fbc5eb005057f8a0fc6d60bde595df inherit pub_methods_classpcl_1_1_p_c_l_base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Empty constructor. <br /></td></tr>
<tr class="separator:af4fbc5eb005057f8a0fc6d60bde595df inherit pub_methods_classpcl_1_1_p_c_l_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7a6dd7a91275d7737cf1b18005b47244 inherit pub_methods_classpcl_1_1_p_c_l_base"><td class="memItemLeft" align="right" valign="top"><a id="a7a6dd7a91275d7737cf1b18005b47244"></a>
&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_p_c_l_base.html#a7a6dd7a91275d7737cf1b18005b47244">PCLBase</a> (const <a class="el" href="classpcl_1_1_p_c_l_base.html">PCLBase</a> &amp;base)</td></tr>
<tr class="memdesc:a7a6dd7a91275d7737cf1b18005b47244 inherit pub_methods_classpcl_1_1_p_c_l_base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy constructor. <br /></td></tr>
<tr class="separator:a7a6dd7a91275d7737cf1b18005b47244 inherit pub_methods_classpcl_1_1_p_c_l_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad5d6846e98e59c37dcc3dc9958d53966 inherit pub_methods_classpcl_1_1_p_c_l_base"><td class="memItemLeft" align="right" valign="top"><a id="ad5d6846e98e59c37dcc3dc9958d53966"></a>
virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_p_c_l_base.html#ad5d6846e98e59c37dcc3dc9958d53966">~PCLBase</a> ()</td></tr>
<tr class="memdesc:ad5d6846e98e59c37dcc3dc9958d53966 inherit pub_methods_classpcl_1_1_p_c_l_base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Destructor. <br /></td></tr>
<tr class="separator:ad5d6846e98e59c37dcc3dc9958d53966 inherit pub_methods_classpcl_1_1_p_c_l_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8cd745c4f7a792212f4fc3720b9d46ea inherit pub_methods_classpcl_1_1_p_c_l_base"><td class="memItemLeft" align="right" valign="top"><a id="a8cd745c4f7a792212f4fc3720b9d46ea"></a>
PointCloudConstPtr const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_p_c_l_base.html#a8cd745c4f7a792212f4fc3720b9d46ea">getInputCloud</a> () const</td></tr>
<tr class="memdesc:a8cd745c4f7a792212f4fc3720b9d46ea inherit pub_methods_classpcl_1_1_p_c_l_base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get a pointer to the input point cloud dataset. <br /></td></tr>
<tr class="separator:a8cd745c4f7a792212f4fc3720b9d46ea inherit pub_methods_classpcl_1_1_p_c_l_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab219359de6eb34c9d51e2e976dd1a0d1 inherit pub_methods_classpcl_1_1_p_c_l_base"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_p_c_l_base.html#ab219359de6eb34c9d51e2e976dd1a0d1">setIndices</a> (const IndicesPtr &amp;indices)</td></tr>
<tr class="memdesc:ab219359de6eb34c9d51e2e976dd1a0d1 inherit pub_methods_classpcl_1_1_p_c_l_base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Provide a pointer to the vector of indices that represents the input data.  <a href="classpcl_1_1_p_c_l_base.html#ab219359de6eb34c9d51e2e976dd1a0d1">更多...</a><br /></td></tr>
<tr class="separator:ab219359de6eb34c9d51e2e976dd1a0d1 inherit pub_methods_classpcl_1_1_p_c_l_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a436c68c74b31e4dd00000adfbb11ca7c inherit pub_methods_classpcl_1_1_p_c_l_base"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_p_c_l_base.html#a436c68c74b31e4dd00000adfbb11ca7c">setIndices</a> (const IndicesConstPtr &amp;indices)</td></tr>
<tr class="memdesc:a436c68c74b31e4dd00000adfbb11ca7c inherit pub_methods_classpcl_1_1_p_c_l_base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Provide a pointer to the vector of indices that represents the input data.  <a href="classpcl_1_1_p_c_l_base.html#a436c68c74b31e4dd00000adfbb11ca7c">更多...</a><br /></td></tr>
<tr class="separator:a436c68c74b31e4dd00000adfbb11ca7c inherit pub_methods_classpcl_1_1_p_c_l_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af9cc90d8364ce968566f75800d3773ca inherit pub_methods_classpcl_1_1_p_c_l_base"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_p_c_l_base.html#af9cc90d8364ce968566f75800d3773ca">setIndices</a> (const PointIndicesConstPtr &amp;indices)</td></tr>
<tr class="memdesc:af9cc90d8364ce968566f75800d3773ca inherit pub_methods_classpcl_1_1_p_c_l_base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Provide a pointer to the vector of indices that represents the input data.  <a href="classpcl_1_1_p_c_l_base.html#af9cc90d8364ce968566f75800d3773ca">更多...</a><br /></td></tr>
<tr class="separator:af9cc90d8364ce968566f75800d3773ca inherit pub_methods_classpcl_1_1_p_c_l_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a930c7a6375fdf65ff8cfdb4eb4a6d996 inherit pub_methods_classpcl_1_1_p_c_l_base"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_p_c_l_base.html#a930c7a6375fdf65ff8cfdb4eb4a6d996">setIndices</a> (size_t row_start, size_t col_start, size_t nb_rows, size_t nb_cols)</td></tr>
<tr class="memdesc:a930c7a6375fdf65ff8cfdb4eb4a6d996 inherit pub_methods_classpcl_1_1_p_c_l_base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the indices for the points laying within an interest region of the point cloud.  <a href="classpcl_1_1_p_c_l_base.html#a930c7a6375fdf65ff8cfdb4eb4a6d996">更多...</a><br /></td></tr>
<tr class="separator:a930c7a6375fdf65ff8cfdb4eb4a6d996 inherit pub_methods_classpcl_1_1_p_c_l_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a058753dd4de73d3d0062fe2e452fba3c inherit pub_methods_classpcl_1_1_p_c_l_base"><td class="memItemLeft" align="right" valign="top"><a id="a058753dd4de73d3d0062fe2e452fba3c"></a>
IndicesPtr const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_p_c_l_base.html#a058753dd4de73d3d0062fe2e452fba3c">getIndices</a> ()</td></tr>
<tr class="memdesc:a058753dd4de73d3d0062fe2e452fba3c inherit pub_methods_classpcl_1_1_p_c_l_base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get a pointer to the vector of indices used. <br /></td></tr>
<tr class="separator:a058753dd4de73d3d0062fe2e452fba3c inherit pub_methods_classpcl_1_1_p_c_l_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acae187b37230758959572ceb1e6e2045 inherit pub_methods_classpcl_1_1_p_c_l_base"><td class="memItemLeft" align="right" valign="top"><a id="acae187b37230758959572ceb1e6e2045"></a>
IndicesConstPtr const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_p_c_l_base.html#acae187b37230758959572ceb1e6e2045">getIndices</a> () const</td></tr>
<tr class="memdesc:acae187b37230758959572ceb1e6e2045 inherit pub_methods_classpcl_1_1_p_c_l_base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get a pointer to the vector of indices used. <br /></td></tr>
<tr class="separator:acae187b37230758959572ceb1e6e2045 inherit pub_methods_classpcl_1_1_p_c_l_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af7335fedb0af0930b9d1dedcb54ba201 inherit pub_methods_classpcl_1_1_p_c_l_base"><td class="memItemLeft" align="right" valign="top">const PointSource &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_p_c_l_base.html#af7335fedb0af0930b9d1dedcb54ba201">operator[]</a> (size_t pos) const</td></tr>
<tr class="memdesc:af7335fedb0af0930b9d1dedcb54ba201 inherit pub_methods_classpcl_1_1_p_c_l_base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Override PointCloud operator[] to shorten code  <a href="classpcl_1_1_p_c_l_base.html#af7335fedb0af0930b9d1dedcb54ba201">更多...</a><br /></td></tr>
<tr class="separator:af7335fedb0af0930b9d1dedcb54ba201 inherit pub_methods_classpcl_1_1_p_c_l_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-methods"></a>
Protected 成员函数</h2></td></tr>
<tr class="memitem:a6a393ec18179a0ae23195a4ed71f702f"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1registration_1_1_correspondence_estimation_organized_projection.html#a6a393ec18179a0ae23195a4ed71f702f">initCompute</a> ()</td></tr>
<tr class="separator:a6a393ec18179a0ae23195a4ed71f702f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pro_methods_classpcl_1_1registration_1_1_correspondence_estimation_base"><td colspan="2" onclick="javascript:toggleInherit('pro_methods_classpcl_1_1registration_1_1_correspondence_estimation_base')"><img src="closed.png" alt="-"/>&#160;Protected 成员函数 继承自 <a class="el" href="classpcl_1_1registration_1_1_correspondence_estimation_base.html">pcl::registration::CorrespondenceEstimationBase&lt; PointSource, PointTarget, float &gt;</a></td></tr>
<tr class="memitem:a4563c3bc0cb5d0270457d09ee9bdd03d inherit pro_methods_classpcl_1_1registration_1_1_correspondence_estimation_base"><td class="memItemLeft" align="right" valign="top"><a id="a4563c3bc0cb5d0270457d09ee9bdd03d"></a>
const std::string &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1registration_1_1_correspondence_estimation_base.html#a4563c3bc0cb5d0270457d09ee9bdd03d">getClassName</a> () const</td></tr>
<tr class="memdesc:a4563c3bc0cb5d0270457d09ee9bdd03d inherit pro_methods_classpcl_1_1registration_1_1_correspondence_estimation_base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Abstract class get name method. <br /></td></tr>
<tr class="separator:a4563c3bc0cb5d0270457d09ee9bdd03d inherit pro_methods_classpcl_1_1registration_1_1_correspondence_estimation_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a38466f5d8f817f1fc9e62dfffff572c7 inherit pro_methods_classpcl_1_1registration_1_1_correspondence_estimation_base"><td class="memItemLeft" align="right" valign="top"><a id="a38466f5d8f817f1fc9e62dfffff572c7"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1registration_1_1_correspondence_estimation_base.html#a38466f5d8f817f1fc9e62dfffff572c7">initCompute</a> ()</td></tr>
<tr class="memdesc:a38466f5d8f817f1fc9e62dfffff572c7 inherit pro_methods_classpcl_1_1registration_1_1_correspondence_estimation_base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Internal computation initalization. <br /></td></tr>
<tr class="separator:a38466f5d8f817f1fc9e62dfffff572c7 inherit pro_methods_classpcl_1_1registration_1_1_correspondence_estimation_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad7afb551d656990f5caf03ba2fc5f6c0 inherit pro_methods_classpcl_1_1registration_1_1_correspondence_estimation_base"><td class="memItemLeft" align="right" valign="top"><a id="ad7afb551d656990f5caf03ba2fc5f6c0"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1registration_1_1_correspondence_estimation_base.html#ad7afb551d656990f5caf03ba2fc5f6c0">initComputeReciprocal</a> ()</td></tr>
<tr class="memdesc:ad7afb551d656990f5caf03ba2fc5f6c0 inherit pro_methods_classpcl_1_1registration_1_1_correspondence_estimation_base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Internal computation initalization for reciprocal correspondences. <br /></td></tr>
<tr class="separator:ad7afb551d656990f5caf03ba2fc5f6c0 inherit pro_methods_classpcl_1_1registration_1_1_correspondence_estimation_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pro_methods_classpcl_1_1_p_c_l_base"><td colspan="2" onclick="javascript:toggleInherit('pro_methods_classpcl_1_1_p_c_l_base')"><img src="closed.png" alt="-"/>&#160;Protected 成员函数 继承自 <a class="el" href="classpcl_1_1_p_c_l_base.html">pcl::PCLBase&lt; PointSource &gt;</a></td></tr>
<tr class="memitem:acceb20854934f4cf77e266eb5a44d4f0 inherit pro_methods_classpcl_1_1_p_c_l_base"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_p_c_l_base.html#acceb20854934f4cf77e266eb5a44d4f0">initCompute</a> ()</td></tr>
<tr class="memdesc:acceb20854934f4cf77e266eb5a44d4f0 inherit pro_methods_classpcl_1_1_p_c_l_base"><td class="mdescLeft">&#160;</td><td class="mdescRight">This method should get called before starting the actual computation.  <a href="classpcl_1_1_p_c_l_base.html#acceb20854934f4cf77e266eb5a44d4f0">更多...</a><br /></td></tr>
<tr class="separator:acceb20854934f4cf77e266eb5a44d4f0 inherit pro_methods_classpcl_1_1_p_c_l_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afc426c4eebb94b7734d4fa556bff1420 inherit pro_methods_classpcl_1_1_p_c_l_base"><td class="memItemLeft" align="right" valign="top"><a id="afc426c4eebb94b7734d4fa556bff1420"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_p_c_l_base.html#afc426c4eebb94b7734d4fa556bff1420">deinitCompute</a> ()</td></tr>
<tr class="memdesc:afc426c4eebb94b7734d4fa556bff1420 inherit pro_methods_classpcl_1_1_p_c_l_base"><td class="mdescLeft">&#160;</td><td class="mdescRight">This method should get called after finishing the actual computation. <br /></td></tr>
<tr class="separator:afc426c4eebb94b7734d4fa556bff1420 inherit pro_methods_classpcl_1_1_p_c_l_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-attribs"></a>
Protected 属性</h2></td></tr>
<tr class="memitem:a17b709dd77750f200db7d6b3149659c4"><td class="memItemLeft" align="right" valign="top"><a id="a17b709dd77750f200db7d6b3149659c4"></a>
float&#160;</td><td class="memItemRight" valign="bottom"><b>fx_</b></td></tr>
<tr class="separator:a17b709dd77750f200db7d6b3149659c4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ade54c4875d9f4ded5b379a2421336527"><td class="memItemLeft" align="right" valign="top"><a id="ade54c4875d9f4ded5b379a2421336527"></a>
float&#160;</td><td class="memItemRight" valign="bottom"><b>fy_</b></td></tr>
<tr class="separator:ade54c4875d9f4ded5b379a2421336527"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4a9cb0abe2dc6c23cef805dfda8fcf2e"><td class="memItemLeft" align="right" valign="top"><a id="a4a9cb0abe2dc6c23cef805dfda8fcf2e"></a>
float&#160;</td><td class="memItemRight" valign="bottom"><b>cx_</b></td></tr>
<tr class="separator:a4a9cb0abe2dc6c23cef805dfda8fcf2e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a76e489329eb24a8888598a6363559161"><td class="memItemLeft" align="right" valign="top"><a id="a76e489329eb24a8888598a6363559161"></a>
float&#160;</td><td class="memItemRight" valign="bottom"><b>cy_</b></td></tr>
<tr class="separator:a76e489329eb24a8888598a6363559161"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8b4f7b628fc0dcc7d6a3b3e3c96cbe87"><td class="memItemLeft" align="right" valign="top"><a id="a8b4f7b628fc0dcc7d6a3b3e3c96cbe87"></a>
Eigen::Matrix4f&#160;</td><td class="memItemRight" valign="bottom"><b>src_to_tgt_transformation_</b></td></tr>
<tr class="separator:a8b4f7b628fc0dcc7d6a3b3e3c96cbe87"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad224508c50e0b9af4518f09f8c69e97f"><td class="memItemLeft" align="right" valign="top"><a id="ad224508c50e0b9af4518f09f8c69e97f"></a>
float&#160;</td><td class="memItemRight" valign="bottom"><b>depth_threshold_</b></td></tr>
<tr class="separator:ad224508c50e0b9af4518f09f8c69e97f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab68c2a93103e1be62abca3002b7355bf"><td class="memItemLeft" align="right" valign="top"><a id="ab68c2a93103e1be62abca3002b7355bf"></a>
Eigen::Matrix3f&#160;</td><td class="memItemRight" valign="bottom"><b>projection_matrix_</b></td></tr>
<tr class="separator:ab68c2a93103e1be62abca3002b7355bf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pro_attribs_classpcl_1_1registration_1_1_correspondence_estimation_base"><td colspan="2" onclick="javascript:toggleInherit('pro_attribs_classpcl_1_1registration_1_1_correspondence_estimation_base')"><img src="closed.png" alt="-"/>&#160;Protected 属性 继承自 <a class="el" href="classpcl_1_1registration_1_1_correspondence_estimation_base.html">pcl::registration::CorrespondenceEstimationBase&lt; PointSource, PointTarget, float &gt;</a></td></tr>
<tr class="memitem:abafd815fa41e4762057c1351fa58c552 inherit pro_attribs_classpcl_1_1registration_1_1_correspondence_estimation_base"><td class="memItemLeft" align="right" valign="top"><a id="abafd815fa41e4762057c1351fa58c552"></a>
std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1registration_1_1_correspondence_estimation_base.html#abafd815fa41e4762057c1351fa58c552">corr_name_</a></td></tr>
<tr class="memdesc:abafd815fa41e4762057c1351fa58c552 inherit pro_attribs_classpcl_1_1registration_1_1_correspondence_estimation_base"><td class="mdescLeft">&#160;</td><td class="mdescRight">The correspondence estimation method name. <br /></td></tr>
<tr class="separator:abafd815fa41e4762057c1351fa58c552 inherit pro_attribs_classpcl_1_1registration_1_1_correspondence_estimation_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac43aa82c5e2d08b017639cc483d88ea2 inherit pro_attribs_classpcl_1_1registration_1_1_correspondence_estimation_base"><td class="memItemLeft" align="right" valign="top"><a id="ac43aa82c5e2d08b017639cc483d88ea2"></a>
KdTreePtr&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1registration_1_1_correspondence_estimation_base.html#ac43aa82c5e2d08b017639cc483d88ea2">tree_</a></td></tr>
<tr class="memdesc:ac43aa82c5e2d08b017639cc483d88ea2 inherit pro_attribs_classpcl_1_1registration_1_1_correspondence_estimation_base"><td class="mdescLeft">&#160;</td><td class="mdescRight">A pointer to the spatial search object used for the target dataset. <br /></td></tr>
<tr class="separator:ac43aa82c5e2d08b017639cc483d88ea2 inherit pro_attribs_classpcl_1_1registration_1_1_correspondence_estimation_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad15e1f9630bc3bb5e5c412dc8e9183ff inherit pro_attribs_classpcl_1_1registration_1_1_correspondence_estimation_base"><td class="memItemLeft" align="right" valign="top"><a id="ad15e1f9630bc3bb5e5c412dc8e9183ff"></a>
KdTreeReciprocalPtr&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1registration_1_1_correspondence_estimation_base.html#ad15e1f9630bc3bb5e5c412dc8e9183ff">tree_reciprocal_</a></td></tr>
<tr class="memdesc:ad15e1f9630bc3bb5e5c412dc8e9183ff inherit pro_attribs_classpcl_1_1registration_1_1_correspondence_estimation_base"><td class="mdescLeft">&#160;</td><td class="mdescRight">A pointer to the spatial search object used for the source dataset. <br /></td></tr>
<tr class="separator:ad15e1f9630bc3bb5e5c412dc8e9183ff inherit pro_attribs_classpcl_1_1registration_1_1_correspondence_estimation_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a269bd2ef4d241dc4dafebe6919e5650e inherit pro_attribs_classpcl_1_1registration_1_1_correspondence_estimation_base"><td class="memItemLeft" align="right" valign="top"><a id="a269bd2ef4d241dc4dafebe6919e5650e"></a>
PointCloudTargetConstPtr&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1registration_1_1_correspondence_estimation_base.html#a269bd2ef4d241dc4dafebe6919e5650e">target_</a></td></tr>
<tr class="memdesc:a269bd2ef4d241dc4dafebe6919e5650e inherit pro_attribs_classpcl_1_1registration_1_1_correspondence_estimation_base"><td class="mdescLeft">&#160;</td><td class="mdescRight">The input point cloud dataset target. <br /></td></tr>
<tr class="separator:a269bd2ef4d241dc4dafebe6919e5650e inherit pro_attribs_classpcl_1_1registration_1_1_correspondence_estimation_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adb7ffc631b61dd54251b907d9b59c36b inherit pro_attribs_classpcl_1_1registration_1_1_correspondence_estimation_base"><td class="memItemLeft" align="right" valign="top"><a id="adb7ffc631b61dd54251b907d9b59c36b"></a>
IndicesPtr&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1registration_1_1_correspondence_estimation_base.html#adb7ffc631b61dd54251b907d9b59c36b">target_indices_</a></td></tr>
<tr class="memdesc:adb7ffc631b61dd54251b907d9b59c36b inherit pro_attribs_classpcl_1_1registration_1_1_correspondence_estimation_base"><td class="mdescLeft">&#160;</td><td class="mdescRight">The target point cloud dataset indices. <br /></td></tr>
<tr class="separator:adb7ffc631b61dd54251b907d9b59c36b inherit pro_attribs_classpcl_1_1registration_1_1_correspondence_estimation_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa1ad8057a457578023584ae099795133 inherit pro_attribs_classpcl_1_1registration_1_1_correspondence_estimation_base"><td class="memItemLeft" align="right" valign="top"><a id="aa1ad8057a457578023584ae099795133"></a>
PointRepresentationConstPtr&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1registration_1_1_correspondence_estimation_base.html#aa1ad8057a457578023584ae099795133">point_representation_</a></td></tr>
<tr class="memdesc:aa1ad8057a457578023584ae099795133 inherit pro_attribs_classpcl_1_1registration_1_1_correspondence_estimation_base"><td class="mdescLeft">&#160;</td><td class="mdescRight">The point representation used (internal). <br /></td></tr>
<tr class="separator:aa1ad8057a457578023584ae099795133 inherit pro_attribs_classpcl_1_1registration_1_1_correspondence_estimation_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a106b60be21bde4d7ebaa257494d54481 inherit pro_attribs_classpcl_1_1registration_1_1_correspondence_estimation_base"><td class="memItemLeft" align="right" valign="top"><a id="a106b60be21bde4d7ebaa257494d54481"></a>
PointCloudTargetPtr&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1registration_1_1_correspondence_estimation_base.html#a106b60be21bde4d7ebaa257494d54481">input_transformed_</a></td></tr>
<tr class="memdesc:a106b60be21bde4d7ebaa257494d54481 inherit pro_attribs_classpcl_1_1registration_1_1_correspondence_estimation_base"><td class="mdescLeft">&#160;</td><td class="mdescRight">The transformed input source point cloud dataset. <br /></td></tr>
<tr class="separator:a106b60be21bde4d7ebaa257494d54481 inherit pro_attribs_classpcl_1_1registration_1_1_correspondence_estimation_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab05cddc8483c536b981712160ac368ce inherit pro_attribs_classpcl_1_1registration_1_1_correspondence_estimation_base"><td class="memItemLeft" align="right" valign="top"><a id="ab05cddc8483c536b981712160ac368ce"></a>
std::vector&lt; <a class="el" href="structpcl_1_1_p_c_l_point_field.html">pcl::PCLPointField</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1registration_1_1_correspondence_estimation_base.html#ab05cddc8483c536b981712160ac368ce">input_fields_</a></td></tr>
<tr class="memdesc:ab05cddc8483c536b981712160ac368ce inherit pro_attribs_classpcl_1_1registration_1_1_correspondence_estimation_base"><td class="mdescLeft">&#160;</td><td class="mdescRight">The types of input point fields available. <br /></td></tr>
<tr class="separator:ab05cddc8483c536b981712160ac368ce inherit pro_attribs_classpcl_1_1registration_1_1_correspondence_estimation_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac14f9ca285539bce5913e4e65cd8303f inherit pro_attribs_classpcl_1_1registration_1_1_correspondence_estimation_base"><td class="memItemLeft" align="right" valign="top"><a id="ac14f9ca285539bce5913e4e65cd8303f"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1registration_1_1_correspondence_estimation_base.html#ac14f9ca285539bce5913e4e65cd8303f">target_cloud_updated_</a></td></tr>
<tr class="memdesc:ac14f9ca285539bce5913e4e65cd8303f inherit pro_attribs_classpcl_1_1registration_1_1_correspondence_estimation_base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Variable that stores whether we have a new target cloud, meaning we need to pre-process it again. This way, we avoid rebuilding the kd-tree for the target cloud every time the determineCorrespondences () method is called. <br /></td></tr>
<tr class="separator:ac14f9ca285539bce5913e4e65cd8303f inherit pro_attribs_classpcl_1_1registration_1_1_correspondence_estimation_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4c46a60269323a3bf665aac6397aee69 inherit pro_attribs_classpcl_1_1registration_1_1_correspondence_estimation_base"><td class="memItemLeft" align="right" valign="top"><a id="a4c46a60269323a3bf665aac6397aee69"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1registration_1_1_correspondence_estimation_base.html#a4c46a60269323a3bf665aac6397aee69">source_cloud_updated_</a></td></tr>
<tr class="memdesc:a4c46a60269323a3bf665aac6397aee69 inherit pro_attribs_classpcl_1_1registration_1_1_correspondence_estimation_base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Variable that stores whether we have a new source cloud, meaning we need to pre-process it again. This way, we avoid rebuilding the reciprocal kd-tree for the source cloud every time the determineCorrespondences () method is called. <br /></td></tr>
<tr class="separator:a4c46a60269323a3bf665aac6397aee69 inherit pro_attribs_classpcl_1_1registration_1_1_correspondence_estimation_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afae6e31f695321c118f61c59ea7571e4 inherit pro_attribs_classpcl_1_1registration_1_1_correspondence_estimation_base"><td class="memItemLeft" align="right" valign="top"><a id="afae6e31f695321c118f61c59ea7571e4"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1registration_1_1_correspondence_estimation_base.html#afae6e31f695321c118f61c59ea7571e4">force_no_recompute_</a></td></tr>
<tr class="memdesc:afae6e31f695321c118f61c59ea7571e4 inherit pro_attribs_classpcl_1_1registration_1_1_correspondence_estimation_base"><td class="mdescLeft">&#160;</td><td class="mdescRight">A flag which, if set, means the tree operating on the target cloud will never be recomputed <br /></td></tr>
<tr class="separator:afae6e31f695321c118f61c59ea7571e4 inherit pro_attribs_classpcl_1_1registration_1_1_correspondence_estimation_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adb23b6a9f629bdc605cefeacea94bf14 inherit pro_attribs_classpcl_1_1registration_1_1_correspondence_estimation_base"><td class="memItemLeft" align="right" valign="top"><a id="adb23b6a9f629bdc605cefeacea94bf14"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1registration_1_1_correspondence_estimation_base.html#adb23b6a9f629bdc605cefeacea94bf14">force_no_recompute_reciprocal_</a></td></tr>
<tr class="memdesc:adb23b6a9f629bdc605cefeacea94bf14 inherit pro_attribs_classpcl_1_1registration_1_1_correspondence_estimation_base"><td class="mdescLeft">&#160;</td><td class="mdescRight">A flag which, if set, means the tree operating on the source cloud will never be recomputed <br /></td></tr>
<tr class="separator:adb23b6a9f629bdc605cefeacea94bf14 inherit pro_attribs_classpcl_1_1registration_1_1_correspondence_estimation_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pro_attribs_classpcl_1_1_p_c_l_base"><td colspan="2" onclick="javascript:toggleInherit('pro_attribs_classpcl_1_1_p_c_l_base')"><img src="closed.png" alt="-"/>&#160;Protected 属性 继承自 <a class="el" href="classpcl_1_1_p_c_l_base.html">pcl::PCLBase&lt; PointSource &gt;</a></td></tr>
<tr class="memitem:a09c70d8e06e3fb4f07903fe6f8d67869 inherit pro_attribs_classpcl_1_1_p_c_l_base"><td class="memItemLeft" align="right" valign="top"><a id="a09c70d8e06e3fb4f07903fe6f8d67869"></a>
PointCloudConstPtr&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_p_c_l_base.html#a09c70d8e06e3fb4f07903fe6f8d67869">input_</a></td></tr>
<tr class="memdesc:a09c70d8e06e3fb4f07903fe6f8d67869 inherit pro_attribs_classpcl_1_1_p_c_l_base"><td class="mdescLeft">&#160;</td><td class="mdescRight">The input point cloud dataset. <br /></td></tr>
<tr class="separator:a09c70d8e06e3fb4f07903fe6f8d67869 inherit pro_attribs_classpcl_1_1_p_c_l_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaee847c8a517ebf365bad2cb182a6626 inherit pro_attribs_classpcl_1_1_p_c_l_base"><td class="memItemLeft" align="right" valign="top"><a id="aaee847c8a517ebf365bad2cb182a6626"></a>
IndicesPtr&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_p_c_l_base.html#aaee847c8a517ebf365bad2cb182a6626">indices_</a></td></tr>
<tr class="memdesc:aaee847c8a517ebf365bad2cb182a6626 inherit pro_attribs_classpcl_1_1_p_c_l_base"><td class="mdescLeft">&#160;</td><td class="mdescRight">A pointer to the vector of point indices to use. <br /></td></tr>
<tr class="separator:aaee847c8a517ebf365bad2cb182a6626 inherit pro_attribs_classpcl_1_1_p_c_l_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ada1eadb824d34ca9206a86343d9760bb inherit pro_attribs_classpcl_1_1_p_c_l_base"><td class="memItemLeft" align="right" valign="top"><a id="ada1eadb824d34ca9206a86343d9760bb"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_p_c_l_base.html#ada1eadb824d34ca9206a86343d9760bb">use_indices_</a></td></tr>
<tr class="memdesc:ada1eadb824d34ca9206a86343d9760bb inherit pro_attribs_classpcl_1_1_p_c_l_base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set to true if point indices are used. <br /></td></tr>
<tr class="separator:ada1eadb824d34ca9206a86343d9760bb inherit pro_attribs_classpcl_1_1_p_c_l_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adadb0299f144528020ed558af6879662 inherit pro_attribs_classpcl_1_1_p_c_l_base"><td class="memItemLeft" align="right" valign="top"><a id="adadb0299f144528020ed558af6879662"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_p_c_l_base.html#adadb0299f144528020ed558af6879662">fake_indices_</a></td></tr>
<tr class="memdesc:adadb0299f144528020ed558af6879662 inherit pro_attribs_classpcl_1_1_p_c_l_base"><td class="mdescLeft">&#160;</td><td class="mdescRight">If no set of indices are given, we construct a set of fake indices that mimic the input PointCloud. <br /></td></tr>
<tr class="separator:adadb0299f144528020ed558af6879662 inherit pro_attribs_classpcl_1_1_p_c_l_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">详细描述</h2>
<div class="textblock"><h3>template&lt;typename PointSource, typename PointTarget, typename Scalar = float&gt;<br />
class pcl::registration::CorrespondenceEstimationOrganizedProjection&lt; PointSource, PointTarget, Scalar &gt;</h3>

<p><a class="el" href="classpcl_1_1registration_1_1_correspondence_estimation_organized_projection.html" title="CorrespondenceEstimationOrganizedProjection computes correspondences by projecting the source point c...">CorrespondenceEstimationOrganizedProjection</a> computes correspondences by projecting the source point cloud onto the target point cloud using the camera intrinsic and extrinsic parameters. The correspondences can be trimmed by a depth threshold and by a distance threshold. It is not as precise as a nearest neighbor search, but it is much faster, as it avoids the usage of any additional structures (i.e., kd-trees). </p>
<dl class="section note"><dt>注解</dt><dd>The target point cloud must be organized (no restrictions on the source) and the target point cloud must be given in the camera coordinate frame. Any other transformation is specified by the src_to_tgt_transformation_ variable. </dd></dl>
<dl class="section author"><dt>作者</dt><dd>Alex Ichim </dd></dl>
</div><h2 class="groupheader">成员函数说明</h2>
<a id="a6145ed17b1dadd13c2008b409ad0ce26"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6145ed17b1dadd13c2008b409ad0ce26">&#9670;&nbsp;</a></span>determineCorrespondences()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename PointSource , typename PointTarget , typename Scalar &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classpcl_1_1registration_1_1_correspondence_estimation_organized_projection.html">pcl::registration::CorrespondenceEstimationOrganizedProjection</a>&lt; PointSource, PointTarget, Scalar &gt;::determineCorrespondences </td>
          <td>(</td>
          <td class="paramtype">pcl::Correspondences &amp;&#160;</td>
          <td class="paramname"><em>correspondences</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>max_distance</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Computes the correspondences, applying a maximum Euclidean distance threshold. </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramdir"></td><td class="paramname">correspondences</td><td></td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">max_distance</td><td>Euclidean distance threshold above which correspondences will be rejected </td></tr>
  </table>
  </dd>
</dl>
<p>Check if the point was behind the camera</p>
<p>Check if the depth difference is larger than the threshold</p>

<p>实现了 <a class="el" href="classpcl_1_1registration_1_1_correspondence_estimation_base.html#ad6545c8946e044093ef2e5373d347e27">pcl::registration::CorrespondenceEstimationBase&lt; PointSource, PointTarget, float &gt;</a>.</p>
<div class="fragment"><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;{</div>
<div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;  <span class="keywordflow">if</span> (!<a class="code" href="classpcl_1_1registration_1_1_correspondence_estimation_organized_projection.html#a6a393ec18179a0ae23195a4ed71f702f">initCompute</a> ())</div>
<div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;    <span class="keywordflow">return</span>;</div>
<div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160; </div>
<div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;  correspondences.resize (<a class="code" href="classpcl_1_1_p_c_l_base.html#aaee847c8a517ebf365bad2cb182a6626">indices_</a>-&gt;size ());</div>
<div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;  <span class="keywordtype">size_t</span> c_index = 0;</div>
<div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160; </div>
<div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;  <span class="keywordflow">for</span> (std::vector&lt;int&gt;::const_iterator src_it = <a class="code" href="classpcl_1_1_p_c_l_base.html#aaee847c8a517ebf365bad2cb182a6626">indices_</a>-&gt;begin (); src_it != <a class="code" href="classpcl_1_1_p_c_l_base.html#aaee847c8a517ebf365bad2cb182a6626">indices_</a>-&gt;end (); ++src_it)</div>
<div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;  {</div>
<div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;    <span class="keywordflow">if</span> (isFinite (<a class="code" href="classpcl_1_1_p_c_l_base.html#a09c70d8e06e3fb4f07903fe6f8d67869">input_</a>-&gt;points[*src_it]))</div>
<div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;    {</div>
<div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;      Eigen::Vector4f p_src (src_to_tgt_transformation_ * <a class="code" href="classpcl_1_1_p_c_l_base.html#a09c70d8e06e3fb4f07903fe6f8d67869">input_</a>-&gt;points[*src_it].getVector4fMap ());</div>
<div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;      Eigen::Vector3f p_src3 (p_src[0], p_src[1], p_src[2]);</div>
<div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;      Eigen::Vector3f uv (projection_matrix_ * p_src3);</div>
<div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160; </div>
<div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;      <span class="keywordflow">if</span> (uv[2] &lt;= 0)</div>
<div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;        <span class="keywordflow">continue</span>;</div>
<div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160; </div>
<div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;      <span class="keywordtype">int</span> u = <span class="keyword">static_cast&lt;</span><span class="keywordtype">int</span><span class="keyword">&gt;</span> (uv[0] / uv[2]);</div>
<div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;      <span class="keywordtype">int</span> v = <span class="keyword">static_cast&lt;</span><span class="keywordtype">int</span><span class="keyword">&gt;</span> (uv[1] / uv[2]);</div>
<div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160; </div>
<div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;      <span class="keywordflow">if</span> (u &gt;= 0 &amp;&amp; u &lt; <span class="keyword">static_cast&lt;</span><span class="keywordtype">int</span><span class="keyword">&gt;</span> (<a class="code" href="classpcl_1_1registration_1_1_correspondence_estimation_base.html#a269bd2ef4d241dc4dafebe6919e5650e">target_</a>-&gt;width) &amp;&amp;</div>
<div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;          v &gt;= 0 &amp;&amp; v &lt; static_cast&lt;int&gt; (<a class="code" href="classpcl_1_1registration_1_1_correspondence_estimation_base.html#a269bd2ef4d241dc4dafebe6919e5650e">target_</a>-&gt;height))</div>
<div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;      {</div>
<div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;        <span class="keyword">const</span> PointTarget &amp;pt_tgt = <a class="code" href="classpcl_1_1registration_1_1_correspondence_estimation_base.html#a269bd2ef4d241dc4dafebe6919e5650e">target_</a>-&gt;at (u, v);</div>
<div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;        <span class="keywordflow">if</span> (!isFinite (pt_tgt))</div>
<div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;          <span class="keywordflow">continue</span>;</div>
<div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;        <span class="keywordflow">if</span> (fabs (uv[2] - pt_tgt.z) &gt; depth_threshold_)</div>
<div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;          <span class="keywordflow">continue</span>;</div>
<div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160; </div>
<div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;        <span class="keywordtype">double</span> dist = (p_src3 - pt_tgt.getVector3fMap ()).norm ();</div>
<div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;        <span class="keywordflow">if</span> (dist &lt; max_distance)</div>
<div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;          correspondences[c_index++] =  <a class="code" href="structpcl_1_1_correspondence.html">pcl::Correspondence</a> (*src_it, v * <a class="code" href="classpcl_1_1registration_1_1_correspondence_estimation_base.html#a269bd2ef4d241dc4dafebe6919e5650e">target_</a>-&gt;width + u, <span class="keyword">static_cast&lt;</span><span class="keywordtype">float</span><span class="keyword">&gt;</span> (dist));</div>
<div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;      }</div>
<div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;    }</div>
<div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;  }</div>
<div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160; </div>
<div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;  correspondences.resize (c_index);</div>
<div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;}</div>
<div class="ttc" id="aclasspcl_1_1_p_c_l_base_html_a09c70d8e06e3fb4f07903fe6f8d67869"><div class="ttname"><a href="classpcl_1_1_p_c_l_base.html#a09c70d8e06e3fb4f07903fe6f8d67869">pcl::PCLBase&lt; PointSource &gt;::input_</a></div><div class="ttdeci">PointCloudConstPtr input_</div><div class="ttdoc">The input point cloud dataset.</div><div class="ttdef"><b>Definition:</b> pcl_base.h:150</div></div>
<div class="ttc" id="aclasspcl_1_1_p_c_l_base_html_aaee847c8a517ebf365bad2cb182a6626"><div class="ttname"><a href="classpcl_1_1_p_c_l_base.html#aaee847c8a517ebf365bad2cb182a6626">pcl::PCLBase&lt; PointSource &gt;::indices_</a></div><div class="ttdeci">IndicesPtr indices_</div><div class="ttdoc">A pointer to the vector of point indices to use.</div><div class="ttdef"><b>Definition:</b> pcl_base.h:153</div></div>
<div class="ttc" id="aclasspcl_1_1registration_1_1_correspondence_estimation_base_html_a269bd2ef4d241dc4dafebe6919e5650e"><div class="ttname"><a href="classpcl_1_1registration_1_1_correspondence_estimation_base.html#a269bd2ef4d241dc4dafebe6919e5650e">pcl::registration::CorrespondenceEstimationBase&lt; PointSource, PointTarget, float &gt;::target_</a></div><div class="ttdeci">PointCloudTargetConstPtr target_</div><div class="ttdoc">The input point cloud dataset target.</div><div class="ttdef"><b>Definition:</b> correspondence_estimation.h:312</div></div>
<div class="ttc" id="aclasspcl_1_1registration_1_1_correspondence_estimation_organized_projection_html_a6a393ec18179a0ae23195a4ed71f702f"><div class="ttname"><a href="classpcl_1_1registration_1_1_correspondence_estimation_organized_projection.html#a6a393ec18179a0ae23195a4ed71f702f">pcl::registration::CorrespondenceEstimationOrganizedProjection::initCompute</a></div><div class="ttdeci">bool initCompute()</div><div class="ttdef"><b>Definition:</b> correspondence_estimation_organized_projection.hpp:46</div></div>
<div class="ttc" id="astructpcl_1_1_correspondence_html"><div class="ttname"><a href="structpcl_1_1_correspondence.html">pcl::Correspondence</a></div><div class="ttdoc">Correspondence represents a match between two entities (e.g., points, descriptors,...</div><div class="ttdef"><b>Definition:</b> correspondence.h:59</div></div>
</div><!-- fragment -->
</div>
</div>
<a id="ac1efb1a06bd674fea9743d615e8a3419"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac1efb1a06bd674fea9743d615e8a3419">&#9670;&nbsp;</a></span>determineReciprocalCorrespondences()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename PointSource , typename PointTarget , typename Scalar &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classpcl_1_1registration_1_1_correspondence_estimation_organized_projection.html">pcl::registration::CorrespondenceEstimationOrganizedProjection</a>&lt; PointSource, PointTarget, Scalar &gt;::determineReciprocalCorrespondences </td>
          <td>(</td>
          <td class="paramtype">pcl::Correspondences &amp;&#160;</td>
          <td class="paramname"><em>correspondences</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>max_distance</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Computes the correspondences, applying a maximum Euclidean distance threshold. </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramdir"></td><td class="paramname">correspondences</td><td></td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">max_distance</td><td>Euclidean distance threshold above which correspondences will be rejected </td></tr>
  </table>
  </dd>
</dl>

<p>实现了 <a class="el" href="classpcl_1_1registration_1_1_correspondence_estimation_base.html#a3c21cd891d7df337648dc05d71008be2">pcl::registration::CorrespondenceEstimationBase&lt; PointSource, PointTarget, float &gt;</a>.</p>
<div class="fragment"><div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;{</div>
<div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;  <span class="comment">// Call the normal determineCorrespondences (...), as doing it both ways will not improve the results</span></div>
<div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;  <a class="code" href="classpcl_1_1registration_1_1_correspondence_estimation_organized_projection.html#a6145ed17b1dadd13c2008b409ad0ce26">determineCorrespondences</a> (correspondences, max_distance);</div>
<div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;}</div>
<div class="ttc" id="aclasspcl_1_1registration_1_1_correspondence_estimation_organized_projection_html_a6145ed17b1dadd13c2008b409ad0ce26"><div class="ttname"><a href="classpcl_1_1registration_1_1_correspondence_estimation_organized_projection.html#a6145ed17b1dadd13c2008b409ad0ce26">pcl::registration::CorrespondenceEstimationOrganizedProjection::determineCorrespondences</a></div><div class="ttdeci">void determineCorrespondences(Correspondences &amp;correspondences, double max_distance)</div><div class="ttdoc">Computes the correspondences, applying a maximum Euclidean distance threshold.</div><div class="ttdef"><b>Definition:</b> correspondence_estimation_organized_projection.hpp:71</div></div>
</div><!-- fragment -->
</div>
</div>
<a id="a650cec6eaed2dd963361b8ffd0169118"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a650cec6eaed2dd963361b8ffd0169118">&#9670;&nbsp;</a></span>getCameraCenters()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename PointSource , typename PointTarget , typename Scalar  = float&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classpcl_1_1registration_1_1_correspondence_estimation_organized_projection.html">pcl::registration::CorrespondenceEstimationOrganizedProjection</a>&lt; PointSource, PointTarget, Scalar &gt;::getCameraCenters </td>
          <td>(</td>
          <td class="paramtype">float &amp;&#160;</td>
          <td class="paramname"><em>cx</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float &amp;&#160;</td>
          <td class="paramname"><em>cy</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Reads back the camera center parameters of the target camera. </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[out]</td><td class="paramname">cx</td><td>the x-coordinate of the camera center </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">cy</td><td>the y-coordinate of the camera center </td></tr>
  </table>
  </dd>
</dl>
<div class="fragment"><div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;        { cx = cx_; cy = cy_; }</div>
</div><!-- fragment -->
</div>
</div>
<a id="abfbd5e779a8b7a7a691aca652965cb44"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abfbd5e779a8b7a7a691aca652965cb44">&#9670;&nbsp;</a></span>getDepthThreshold()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename PointSource , typename PointTarget , typename Scalar  = float&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">float <a class="el" href="classpcl_1_1registration_1_1_correspondence_estimation_organized_projection.html">pcl::registration::CorrespondenceEstimationOrganizedProjection</a>&lt; PointSource, PointTarget, Scalar &gt;::getDepthThreshold </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Reads back the depth threshold; after projecting the source points in the image space of the target camera, this threshold is applied on the depths of corresponding dexels to eliminate the ones that are too far from each other. </p>
<dl class="section return"><dt>返回</dt><dd>the depth threshold </dd></dl>
<div class="fragment"><div class="line"><a name="l00165"></a><span class="lineno">  165</span>&#160;        { <span class="keywordflow">return</span> (depth_threshold_); }</div>
</div><!-- fragment -->
</div>
</div>
<a id="ae46c546ae6d03fdf9dee335c01169c15"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae46c546ae6d03fdf9dee335c01169c15">&#9670;&nbsp;</a></span>getFocalLengths()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename PointSource , typename PointTarget , typename Scalar  = float&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classpcl_1_1registration_1_1_correspondence_estimation_organized_projection.html">pcl::registration::CorrespondenceEstimationOrganizedProjection</a>&lt; PointSource, PointTarget, Scalar &gt;::getFocalLengths </td>
          <td>(</td>
          <td class="paramtype">float &amp;&#160;</td>
          <td class="paramname"><em>fx</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float &amp;&#160;</td>
          <td class="paramname"><em>fy</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Reads back the focal length parameters of the target camera. </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[out]</td><td class="paramname">fx</td><td>the focal length in pixels along the x-axis of the image </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">fy</td><td>the focal length in pixels along the y-axis of the image </td></tr>
  </table>
  </dd>
</dl>
<div class="fragment"><div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;        { fx = fx_; fy = fy_; }</div>
</div><!-- fragment -->
</div>
</div>
<a id="a72c8043f8eab0b048bc3354c12d65f93"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a72c8043f8eab0b048bc3354c12d65f93">&#9670;&nbsp;</a></span>getSourceTransformation()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename PointSource , typename PointTarget , typename Scalar  = float&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">Eigen::Matrix4f <a class="el" href="classpcl_1_1registration_1_1_correspondence_estimation_organized_projection.html">pcl::registration::CorrespondenceEstimationOrganizedProjection</a>&lt; PointSource, PointTarget, Scalar &gt;::getSourceTransformation </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Reads back the transformation from the source point cloud to the target point cloud. </p>
<dl class="section note"><dt>注解</dt><dd>The target point cloud must be in its local camera coordinates, so use this transformation to correct for that. </dd></dl>
<dl class="section return"><dt>返回</dt><dd>the transformation </dd></dl>
<div class="fragment"><div class="line"><a name="l00147"></a><span class="lineno">  147</span>&#160;        { <span class="keywordflow">return</span> (src_to_tgt_transformation_); }</div>
</div><!-- fragment -->
</div>
</div>
<a id="a6a393ec18179a0ae23195a4ed71f702f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6a393ec18179a0ae23195a4ed71f702f">&#9670;&nbsp;</a></span>initCompute()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename PointSource , typename PointTarget , typename Scalar &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="classpcl_1_1registration_1_1_correspondence_estimation_organized_projection.html">pcl::registration::CorrespondenceEstimationOrganizedProjection</a>&lt; PointSource, PointTarget, Scalar &gt;::initCompute</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Check if the target cloud is organized</p>
<p>Put the projection matrix together</p>
<div class="fragment"><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;{</div>
<div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;  <span class="comment">// Set the target_cloud_updated_ variable to true, so that the kd-tree is not built - it is not needed for this class</span></div>
<div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;  <a class="code" href="classpcl_1_1registration_1_1_correspondence_estimation_base.html#ac14f9ca285539bce5913e4e65cd8303f">target_cloud_updated_</a> = <span class="keyword">false</span>;</div>
<div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;  <span class="keywordflow">if</span> (!<a class="code" href="classpcl_1_1registration_1_1_correspondence_estimation_base.html#a38466f5d8f817f1fc9e62dfffff572c7">CorrespondenceEstimationBase&lt;PointSource, PointTarget, Scalar&gt;::initCompute</a> ())</div>
<div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;    <span class="keywordflow">return</span> (<span class="keyword">false</span>);</div>
<div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160; </div>
<div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;  <span class="keywordflow">if</span> (!<a class="code" href="classpcl_1_1registration_1_1_correspondence_estimation_base.html#a269bd2ef4d241dc4dafebe6919e5650e">target_</a>-&gt;isOrganized ())</div>
<div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;  {</div>
<div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;    PCL_WARN (<span class="stringliteral">&quot;[pcl::registration::%s::initCompute] Target cloud is not organized.\n&quot;</span>, <a class="code" href="classpcl_1_1registration_1_1_correspondence_estimation_base.html#a4563c3bc0cb5d0270457d09ee9bdd03d">getClassName</a> ().c_str ());</div>
<div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;    <span class="keywordflow">return</span> (<span class="keyword">false</span>);</div>
<div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;  }</div>
<div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160; </div>
<div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;  projection_matrix_ (0, 0) = fx_;</div>
<div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;  projection_matrix_ (1, 1) = fy_;</div>
<div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;  projection_matrix_ (0, 2) = cx_;</div>
<div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;  projection_matrix_ (1, 2) = cy_;</div>
<div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160; </div>
<div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;  <span class="keywordflow">return</span> (<span class="keyword">true</span>);</div>
<div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;}</div>
<div class="ttc" id="aclasspcl_1_1registration_1_1_correspondence_estimation_base_html_a38466f5d8f817f1fc9e62dfffff572c7"><div class="ttname"><a href="classpcl_1_1registration_1_1_correspondence_estimation_base.html#a38466f5d8f817f1fc9e62dfffff572c7">pcl::registration::CorrespondenceEstimationBase::initCompute</a></div><div class="ttdeci">bool initCompute()</div><div class="ttdoc">Internal computation initalization.</div><div class="ttdef"><b>Definition:</b> correspondence_estimation.hpp:81</div></div>
<div class="ttc" id="aclasspcl_1_1registration_1_1_correspondence_estimation_base_html_a4563c3bc0cb5d0270457d09ee9bdd03d"><div class="ttname"><a href="classpcl_1_1registration_1_1_correspondence_estimation_base.html#a4563c3bc0cb5d0270457d09ee9bdd03d">pcl::registration::CorrespondenceEstimationBase&lt; PointSource, PointTarget, float &gt;::getClassName</a></div><div class="ttdeci">const std::string &amp; getClassName() const</div><div class="ttdoc">Abstract class get name method.</div><div class="ttdef"><b>Definition:</b> correspondence_estimation.h:328</div></div>
<div class="ttc" id="aclasspcl_1_1registration_1_1_correspondence_estimation_base_html_ac14f9ca285539bce5913e4e65cd8303f"><div class="ttname"><a href="classpcl_1_1registration_1_1_correspondence_estimation_base.html#ac14f9ca285539bce5913e4e65cd8303f">pcl::registration::CorrespondenceEstimationBase&lt; PointSource, PointTarget, float &gt;::target_cloud_updated_</a></div><div class="ttdeci">bool target_cloud_updated_</div><div class="ttdoc">Variable that stores whether we have a new target cloud, meaning we need to pre-process it again....</div><div class="ttdef"><b>Definition:</b> correspondence_estimation.h:341</div></div>
</div><!-- fragment -->
</div>
</div>
<a id="ade074b488ff8ce1a85a7ef61869b5cfe"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ade074b488ff8ce1a85a7ef61869b5cfe">&#9670;&nbsp;</a></span>setCameraCenters()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename PointSource , typename PointTarget , typename Scalar  = float&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classpcl_1_1registration_1_1_correspondence_estimation_organized_projection.html">pcl::registration::CorrespondenceEstimationOrganizedProjection</a>&lt; PointSource, PointTarget, Scalar &gt;::setCameraCenters </td>
          <td>(</td>
          <td class="paramtype">const float&#160;</td>
          <td class="paramname"><em>cx</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const float&#160;</td>
          <td class="paramname"><em>cy</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Sets the camera center parameters of the target camera. </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">cx</td><td>the x-coordinate of the camera center </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">cy</td><td>the y-coordinate of the camera center </td></tr>
  </table>
  </dd>
</dl>
<div class="fragment"><div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;        { cx_ = cx; cy_ = cy; }</div>
</div><!-- fragment -->
</div>
</div>
<a id="ae87b82d5be3a3f12914f489ff45452eb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae87b82d5be3a3f12914f489ff45452eb">&#9670;&nbsp;</a></span>setDepthThreshold()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename PointSource , typename PointTarget , typename Scalar  = float&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classpcl_1_1registration_1_1_correspondence_estimation_organized_projection.html">pcl::registration::CorrespondenceEstimationOrganizedProjection</a>&lt; PointSource, PointTarget, Scalar &gt;::setDepthThreshold </td>
          <td>(</td>
          <td class="paramtype">const float&#160;</td>
          <td class="paramname"><em>depth_threshold</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Sets the depth threshold; after projecting the source points in the image space of the target camera, this threshold is applied on the depths of corresponding dexels to eliminate the ones that are too far from each other. </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">depth_threshold</td><td>the depth threshold </td></tr>
  </table>
  </dd>
</dl>
<div class="fragment"><div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;        { depth_threshold_ = depth_threshold; }</div>
</div><!-- fragment -->
</div>
</div>
<a id="a421b1761b5313c3519ade0f679e73686"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a421b1761b5313c3519ade0f679e73686">&#9670;&nbsp;</a></span>setFocalLengths()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename PointSource , typename PointTarget , typename Scalar  = float&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classpcl_1_1registration_1_1_correspondence_estimation_organized_projection.html">pcl::registration::CorrespondenceEstimationOrganizedProjection</a>&lt; PointSource, PointTarget, Scalar &gt;::setFocalLengths </td>
          <td>(</td>
          <td class="paramtype">const float&#160;</td>
          <td class="paramname"><em>fx</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const float&#160;</td>
          <td class="paramname"><em>fy</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Sets the focal length parameters of the target camera. </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">fx</td><td>the focal length in pixels along the x-axis of the image </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">fy</td><td>the focal length in pixels along the y-axis of the image </td></tr>
  </table>
  </dd>
</dl>
<div class="fragment"><div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;        { fx_ = fx; fy_ = fy; }</div>
</div><!-- fragment -->
</div>
</div>
<a id="a79d65095dad5703f49f1d37c98d76044"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a79d65095dad5703f49f1d37c98d76044">&#9670;&nbsp;</a></span>setSourceTransformation()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename PointSource , typename PointTarget , typename Scalar  = float&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classpcl_1_1registration_1_1_correspondence_estimation_organized_projection.html">pcl::registration::CorrespondenceEstimationOrganizedProjection</a>&lt; PointSource, PointTarget, Scalar &gt;::setSourceTransformation </td>
          <td>(</td>
          <td class="paramtype">const Eigen::Matrix4f &amp;&#160;</td>
          <td class="paramname"><em>src_to_tgt_transformation</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Sets the transformation from the source point cloud to the target point cloud. </p>
<dl class="section note"><dt>注解</dt><dd>The target point cloud must be in its local camera coordinates, so use this transformation to correct for that. </dd></dl>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">src_to_tgt_transformation</td><td>the transformation </td></tr>
  </table>
  </dd>
</dl>
<div class="fragment"><div class="line"><a name="l00138"></a><span class="lineno">  138</span>&#160;        { src_to_tgt_transformation_ = src_to_tgt_transformation; }</div>
</div><!-- fragment -->
</div>
</div>
<hr/>该类的文档由以下文件生成:<ul>
<li>registration/include/pcl/registration/<a class="el" href="correspondence__estimation__organized__projection_8h_source.html">correspondence_estimation_organized_projection.h</a></li>
<li>registration/include/pcl/registration/impl/<a class="el" href="correspondence__estimation__organized__projection_8hpp_source.html">correspondence_estimation_organized_projection.hpp</a></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="navelem"><b>pcl</b></li><li class="navelem"><b>registration</b></li><li class="navelem"><a class="el" href="classpcl_1_1registration_1_1_correspondence_estimation_organized_projection.html">CorrespondenceEstimationOrganizedProjection</a></li>
    <li class="footer">制作者 <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
  </ul>
</div>
</body>
</html>
